# 作者: 陈其志 
# 2025年02月21日20时39分28秒 
# 2716847110@qq.com
# r是可读
import os


def use_open_r():
    """
    r:光标在文件头
    :return:
    """
    file = open('file1', 'r', encoding='UTF-8')
    txt = file.read()
    print(txt)
    file.close()  # 不关闭占用内存空间


def use_open_rw():
    """
    r+:可读可写，光标在文件头
    :return:
    """
    file = open('file1', 'r+', encoding='UTF-8')
    file.write('HELLO')
    file.seek(0)
    txt = file.read()  # 此时光标在尾部无法读取
    print(txt)
    file.close()  # 不关闭占用内存空间


def use_open_a():
    """
    a:以追加的方式写入
    :return:
    """
    file = open('file1', 'a+', encoding='UTF-8')
    file.write('a方式的追加')
    file.close()  # 不关闭占用内存空间


def use_open_aw():
    """
    a+:以追加的方式写入,并且可读
    :return:
    """
    file = open('file1', 'a+', encoding='UTF-8')
    file.write('a方式的追加')
    file.seek(0)
    txt = file.read()
    print(txt)
    file.close()  # 不关闭占用内存空间


def use_open_w():
    """
    使用w：文件不存在就创建，存在就清空
    :return:
    """
    file = open('file2', 'w', encoding='UTF-8')
    file.write('你好这是w方法写的')
    file.close()


def use_open_address():
    """
    相对路径打开，有就重写，没有就创建w和w+都一样
    :return:
    """
    file = open('dir_01/file3', 'w', encoding='utf-8')
    file.write('hello dir_01 file3')
    file.close()


def use_readline():
    """
    当前目录每次读一行
    :return:
    """
    file = open('file1', 'r+', encoding='UTF-8')
    while True:
        txt = file.readline()
        if txt:  # 一切空容器都是假
            print(txt, end='')  # print和文件都有换行
        else:
            break


if __name__ == '__main__':
    # use_open_r()
    # use_open_rw()
    # use_open_a()
    # use_open_aw()
    # use_open_w()
    # /路径   一般都是相对路径，绝对路径一般不用：盘符开始的
    # use_open_address()
    # print(os.getcwd())  # 打印当前目录
    use_readline()
